home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pp / pp-6.0 / h / q.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-18  |  3.1 KB  |  135 lines

  1. /* q.h - The QUEUE/ADDR Control File structure */
  2.  
  3. /*
  4.  * @(#) $Header: /xtel/pp/pp-beta/h/RCS/q.h,v 6.0 1991/12/18 20:42:44 jpo Rel $
  5.  *
  6.  * $Log: q.h,v $
  7.  * Revision 6.0  1991/12/18  20:42:44  jpo
  8.  * Release 6.0
  9.  *
  10.  *
  11.  */
  12.  
  13.  
  14.  
  15. #ifndef _H_Q
  16. #define _H_Q
  17.  
  18.  
  19. #include "adr.h"
  20. #include "mta.h"
  21.  
  22. typedef struct Qstruct {
  23.  
  24.     int        msgtype;    /* Type of message */
  25. #define MT_UMPDU                1
  26. #define MT_DMPDU                2
  27. #define MT_PMPDU                3
  28.  
  29. /* -- MTS Parameters */
  30.  
  31.     long        msgsize;    /* Size of message */
  32.     UTC        defertime;    /* Deffered time */
  33.     UTC        latest_time;
  34.     char        latest_time_crit;
  35.  
  36.     char        nwarns;        /* Number of warning msgs to send */
  37.     int        warninterval;    /* Interval between warning msgs */
  38.     int        retinterval;    /* Interval after which return mail */
  39.     char        *cont_type;    /* Content type of message */
  40.     EncodedIT    orig_encodedinfo; /* Original Encoded Info Types */
  41.     int        priority;    /* Priority of message */
  42. #define PRIO_NORMAL             0
  43. #define PRIO_NONURGENT          1
  44. #define PRIO_URGENT             2
  45.  
  46.     char        disclose_recips;
  47.     char        implicit_conversion_prohibited;
  48.     char        alternate_recip_allowed;
  49.     char        content_return_request;
  50.  
  51.     char        recip_reassign_prohibited;
  52.     char        recip_reassign_crit;
  53.  
  54.     char        dl_expansion_prohibited;
  55.     char        dl_expansion_crit;
  56.  
  57.     char        conversion_with_loss_prohibited;
  58.     char        conversion_with_loss_crit;
  59.     
  60.     char        *ua_id;        /* UA content id */
  61.     char        *pp_content_correlator; 
  62.                     /* PP preferred string form  */
  63.     struct qbuf    *general_content_correlator;
  64.     char        content_correlator_crit;
  65.                     /* ASN.1 uninterpreted */
  66.                     
  67.     FullName    *originator_return_address;
  68.     char        originator_return_address_crit;
  69.  
  70.     int        forwarding_request;
  71.     char        forwarding_request_crit;
  72.  
  73.     struct qbuf    *originator_certificate;
  74.     char        originator_certificate_crit;
  75.  
  76.     struct qbuf    *algorithm_identifier;
  77.     char        algorithm_identifier_crit;
  78.              /* content confidentiality */
  79.  
  80.     struct qbuf    *message_origin_auth_check; 
  81.                 /* also for Probe */
  82.     char        message_origin_auth_check_crit;
  83.                 
  84.     struct qbuf    *security_label;
  85.     char        security_label_crit;
  86.  
  87.     int        proof_of_submission_request;    /* boolean */
  88.     char        proof_of_submission_crit;
  89.  
  90.     X400_Extension    *per_message_extensions;
  91.                     
  92.  
  93.  
  94.     ADDR        *Oaddress;    /* Orig addr - linked list */
  95.     ADDR        *Raddress;    /* Recip addrs - linked list */
  96.  
  97.     
  98.  
  99. /* -- MTA AS Parameters */
  100.  
  101.     LIST_RCHAN    *inbound;    /* Inbound MTA/Channel */
  102.     MPDUid        msgid;        /* Message ID */
  103.     Trace        *trace;        /* Trace info */
  104.     DLHistory    *dl_expansion_history;
  105.     char        dl_expansion_history_crit;
  106.  
  107.  
  108.  
  109. /* -- PP calculated parameters */
  110.  
  111.     EncodedIT    encodedinfo;    /* Encoded information types */
  112.     UTC        queuetime;    /* Time that message was enqueued */
  113.     UTC        departime;    /* Time that message left the queue */
  114.     int        n_bodyparts;
  115.     int        n_forwarded;
  116.  
  117.     /* -- Queue Control File offsets for fixed length variables -- */
  118.  
  119.     off_t        nwarns_offset;    /* offset param for nwarns */
  120. } Q_struct;
  121.  
  122. extern void    q_init ();
  123. extern void    q_free ();
  124. extern    void    encodedinfo_free ();
  125. extern    void    MPDUid_free ();
  126.  
  127. #define RDMSG_RDONLY    1
  128. #define RDMSG_RDONLYLCK 2
  129. #define RDMSG_RDWR    3
  130.  
  131.  
  132. #define rd_msg(file,prm,que,sndr,recip,rcount) \
  133.     rd_msg_file((file),(prm),(que),(sndr),(recip),(rcount),RDMSG_RDWR)
  134. #endif
  135.